﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Skynet.BusinessEntities;

namespace Skynet.BusinessLogic.BusinessComponents
{


    [ServiceContract(Namespace = "http://www.owlvey.net/Services/")]        
    public interface IBCExams
    {
        [OperationContract(IsOneWay = true)]
        void MaintenanceExamCategories(IEnumerable<ExamCategory> items);

        [OperationContract(IsOneWay = true)]
        void MaintenanceExams(Exam exam);

        [OperationContract(IsOneWay = true)]
        void MaintenanceQuestions(MaintenanceQuestionsOptions options = MaintenanceQuestionsOptions.CUD, BaseQuestion question = null);

        [OperationContract(IsOneWay = true)]
        void MaintenanceAlternative(MaintenanceAlternativeOptions options = MaintenanceAlternativeOptions.CUD, BaseAlternative alternative = null);
        
        [OperationContract(IsOneWay = true)]
        void ActivateExam(Guid CustomerId, Guid ExamId, short duration, DateTime validFrom, DateTime validTo);

        [OperationContract(IsOneWay = true)]
        [ServiceKnownType(typeof(TextQuestion))]
        void AcceptExam(Guid ExamByCustomerId);

        [OperationContract(IsOneWay = true)]
        void FinishExam(Guid ExamByCustomerId);

        
    }
}
